package com.xinghou.platform.server.api.bussiness;

import com.xinghou.platform.entity.req.ListReq;
import com.xinghou.platform.entity.req.ShareInfoReq;
import com.xinghou.platform.entity.resp.ShareInfoPhotoResp;
import com.xinghou.platform.entity.resp.ShareInfoResp;
import com.xinghou.platform.model.main.SharedCard;
import org.springframework.dao.DataAccessException;

import java.util.List;

/**
 * 分享数据处理
 * @author xuzhen
 *
 */
public interface ShareInfoBusinessService {
	
	public int addShareCard(ShareInfoReq shareInfoReq);
	

	public int updateShareCardState(ShareInfoReq shareInfoReq);
	

	public int updateShareCardCount(ShareInfoReq shareInfoReq);

	public  void commSharedNew(SharedCard sharedCard, List<ShareInfoResp> shareInfoRespList);

	/**
	 * 更新门店浏览
	 * @param shareInfoReq
	 * @return
	 */
	public int updateShareShopCount(ShareInfoReq shareInfoReq);
	

	public ShareInfoResp getShareInfo(ShareInfoReq shareInfoReq);
	
	public ShareInfoResp getShareInfoNew(ShareInfoReq shareInfoReq);
	
	public List<ShareInfoPhotoResp> getShareInfoPhoto(ShareInfoReq shareInfoReq);

	public void deleteShare(ShareInfoReq shareInfoReq);

	public List<SharedCard> cardList(ListReq listReq);

	public void cardAudit(ListReq listReq);

	/**
	 * 查询是否关注 userid自己 touserid对方
	 * @param userid
	 * @param touserid
	 * @return
	 */
	public int getisfollow(String userid, String touserid);
	
	public List<ShareInfoResp> getSharedCardForShoplist(ShareInfoReq sgetInterestDynamicBydynamicIdNewhareInfoReq);
	

	public int saveRelation(ShareInfoReq shareInfoReq);
	

	public int saveShields(ShareInfoReq shareInfoReq);
	
	public int saveVisits(ShareInfoReq shareInfoReq);

	public List<ShareInfoResp> searchShareList(ShareInfoReq shareInfoReq);
	

	public int updateShareCard(ShareInfoReq shareInfoReq);
	
	public int updateShareCardNew(ShareInfoReq shareInfoReq);
	
	public List<ShareInfoResp> getSharedCardlistbyMap(String userid, String type, String frompage, int skip, int distance) throws DataAccessException;

	public List<ShareInfoResp> getShareInfoListNew(ShareInfoReq shareInfoReq, int a) throws DataAccessException, Exception;
	
	/**
	 * 更新封面图片
	 * @param shareInfoReq
	 * @return
	 */
	public int updatSharedCardImage(ShareInfoReq shareInfoReq);


}
